//package org.example.controller.book;
//
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import org.example.annotation.HasRole;
//import org.example.dao.dto.book.CCommodityDto;
//import org.example.dao.entity.book.BCommodity;
//import org.example.dao.entity.book.BImage;
//import org.example.dao.entity.book.BKind;
//import org.example.dao.vo.DateVo;
//import org.example.dao.vo.ExcelVo;
//import org.example.service.book.CommodityService;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.List;
//
//import org.example.dao.commom.Result;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletResponse;
//
//import org.example.dao.commom.ResultCode;
//import org.springframework.web.multipart.MultipartFile;
//
///**
// * (Commodity)控制层
// *
// * @author makejava
// * @since 2023-05-10 10:57:01
// */
//@RestController
//@RequestMapping("/commodity")
//@CrossOrigin
//public class CommodityController {
//
//
//    /**
//     * 服务对象
//     */
//    @Resource
//    private CommodityService commodityService;
//
//    //TODO 添加
//
//    /**
//     * 新增商品(管理)
//     */
//    @PostMapping(value = "insertCommodity")
//    public Result insertCommodity(@RequestBody ExcelVo commodity) {
//        BCommodity BCommodity1 = commodityService.insertCommodity(commodity);
//        return new Result(ResultCode.SUCCESS, BCommodity1);
//    }
//
//    /**
//     * 为商品添加图片,通过URL上传(管理)
//     */
//    @PostMapping("addImageByUrl")
//    public Result addImageByUrl(@RequestBody BImage BImage) {
//        commodityService.addImageByUrl(BImage);
//        return new Result(ResultCode.SUCCESS, null);
//    }
//
//    /**
//     * 为商品添加图片，通过上传文件(管理)
//     */
//    @PostMapping("addImageByFile")
//    public Result addImageByFile(String id, MultipartFile file) {
//        String url = commodityService.addImageByFile(id, file);
//        return new Result(ResultCode.SUCCESS, url);
//    }
//
//
//    //TODO 查询
//
//    /**
//     * 根据商品id获取商品(功能)(管理)
//     */
//    @PostMapping(value = "getCommodityById")
//    public Result getCommodityById(@RequestBody BKind BKind) {
//        String id = BKind.getId();
//        CCommodityDto list = commodityService.getCommodityById(id);
//        return new Result(ResultCode.SUCCESS, list);
//    }
//
//
//    /**
//     * 获取热销商品(功能)
//     */
//    @HasRole(role = "管理")
//    @PostMapping(value = "getCommodityBySales")
//    public Result getCommodityBySales(@RequestBody Integer number) {
//        List<CCommodityDto> list = commodityService.getCommodityBySales(number);
//        return new Result(ResultCode.SUCCESS, list);
//    }
//
//
//    /**
//     * 通过专业查询商品列表(功能)
//     */
//    @PostMapping(value = "getCommodityByKind")
//    public Result getCommodityByKind(@RequestBody BKind BKind) {
//        List<CCommodityDto> list = commodityService.getCommodityByKind(BKind);
//        return new Result(ResultCode.SUCCESS, list);
//    }
//
//
//    /**
//     * 获取无图片的商品(管理)
//     *
//     * @return
//     */
//    @PostMapping("getCommodityNoImage")
//    public Result getCommodityNoImage() {
//        List<String> list = commodityService.getCommodityNoImage();
//        return new Result(ResultCode.SUCCESS, list);
//    }
//
//    /**
//     * 通过ISBN号查询商品(管理)
//     */
//
//    @PostMapping(value = "selectCommodityByIsbn")
//    public Result selectCommodityByIsbn(@RequestBody BCommodity BCommodity) {
//        String isbn = BCommodity.getIsbn();
//        BCommodity BCommodity1 = commodityService.selectCommodityByIsbn(isbn);
//        return new Result(ResultCode.SUCCESS, BCommodity1);
//    }
//
//    /**
//     * 通过商品情况查询商品(管理)
//     */
//    @PostMapping("selectCommodityByKind/{start}/{limit}")
//    public Result selectCommodityByKind(@RequestBody BKind BKind,
//                                        @PathVariable("start") Integer start,
//                                        @PathVariable("limit") Integer limit) {
//        IPage<BCommodity> list = commodityService.selectCommodityByKind(BKind, start, limit);
//        return new Result(ResultCode.SUCCESS, list);
//    }
//
//    /**
//     * 根据商品id获取商品图片(管理)
//     */
//    @PostMapping("selectImageByCommodity")
//    public Result selectImageByCommodity(@RequestBody BImage BImage) {
//        String id = BImage.getLinkId();
//        List<BImage> list = commodityService.selectImageByCommodity(id);
//        return new Result(ResultCode.SUCCESS, list);
//    }
//
//
//    //TODO excel
//
//    /**
//     * 导出指定日期的商品订单(管理)
//     */
//    @PostMapping(value = "outportCommodity")
//    public void outportCommodity(@RequestBody DateVo date, HttpServletResponse httpServletResponse) {
//        commodityService.outportCommodity(date, httpServletResponse);
//    }
//
//    /**
//     * 导出商品导入模板(管理)
//     */
//    @PostMapping("downloadSheetCommodity")
//    public void downloadSheetCommodity(HttpServletResponse response) {
//        commodityService.downloadSheetCommodity(response);
//    }
//
//    /**
//     * 导出目前所有商品
//     */
//    @PostMapping("downloadAllCommodity")
//    public Result downloadAllCommodity() {
//        commodityService.downloadAllCommodity();
//        return new Result(ResultCode.SUCCESS, null);
//    }
//
//    /**
//     * 导入商品(管理)
//     */
//    @PostMapping("/uploadCommodityList")
//    public Result uploadCommodityList(MultipartFile file) {
//        commodityService.uploadCommodityList(file);
//        return new Result(ResultCode.SUCCESS, null);
//    }
//
//    //TODO 删除
//
//    /**
//     * 删除商品(管理)
//     */
//    @PostMapping(value = "deleteCommodity")
//    public Result deleteCommodity(@RequestBody BCommodity BCommodity) {
//        String id = BCommodity.getId();
//        commodityService.deleteCommodity(id);
//        return new Result(ResultCode.SUCCESS, null);
//    }
//
//
//    /**
//     * 修改商品信息(管理)
//     */
//    @PostMapping("updateCommodity")
//    public Result updateCommodity(@RequestBody BCommodity BCommodity) {
//        BCommodity commodity= commodityService.updateCommodity(BCommodity);
//        return new Result(ResultCode.SUCCESS, commodity);
//    }
//
//
//    /**
//     * 删除商品图片(管理)
//     */
//    @PostMapping("deleteImage")
//    public Result deleteImage(@RequestBody BImage BImage) {
//        String id = BImage.getId();
//        commodityService.deleteImage(id);
//        return new Result(ResultCode.SUCCESS, null);
//    }
//
//}
//
